Data Sorting এবং Custom Sort Function

Computer Programming - অক (Awk) AWK এ Data Filtering এবং Sorting (Data Filtering and Sorting in AWK) |
205
205

AWK এ Data Sorting এবং Custom Sort Function

AWK সাধারণত ডেটা প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়, তবে এতে বিল্ট-ইন sort ফাংশন নেই। তবে, AWK এ আমরা ডেটা সনির্দিষ্টভাবে সাজানোর জন্য কাস্টম ফাংশন তৈরি করতে পারি। এখানে, AWK এ কীভাবে ডেটা সনির্দিষ্টভাবে সাজানো যায় এবং কাস্টম সোর্ট ফাংশন ব্যবহার করা যায় তার উদাহরণ দেওয়া হলো।

সাধারণ ধারণা: AWK এবং Data Sorting

যদিও AWK নিজে থেকেই ডেটা সোর্ট করার জন্য বিল্ট-ইন ফাংশন সরবরাহ করে না, AWK স্ক্রিপ্টের মধ্যে অ্যারে ব্যবহার করে এবং বাইরের কমান্ড যেমন sort ব্যবহার করে ডেটা সনির্দিষ্টভাবে সাজানো যায়।

বাইরের sort কমান্ড ব্যবহার

AWK এর আউটপুট পাইপলাইনের মাধ্যমে sort কমান্ডে পাঠিয়ে সহজেই ডেটা সনির্দিষ্টভাবে সাজানো যায়।

awk '{print $1, $2}' filename.txt | sort -k2,2n

এখানে, filename.txt ফাইলের প্রথম এবং দ্বিতীয় কলাম প্রিন্ট করা হয়েছে এবং sort -k2,2n দ্বারা দ্বিতীয় কলাম অনুযায়ী সনির্দিষ্টভাবে সাজানো হয়েছে।

AWK এ Custom Sort Function তৈরি করা

AWK এ কাস্টম সোর্ট ফাংশন তৈরি করতে অ্যারে এবং একটি ফাংশন ব্যবহার করে আমরা নিজেরাই ডেটা সনির্দিষ্টভাবে সাজাতে পারি। নিচে একটি কাস্টম সোর্ট ফাংশনের উদাহরণ দেওয়া হলো।

উদাহরণ: কাস্টম সোর্ট ফাংশন

awk '
function bubble_sort(array, n) {
    for (i = 1; i <= n; i++) {
        for (j = i + 1; j <= n; j++) {
            if (array[i] > array[j]) {
                temp = array[i]
                array[i] = array[j]
                array[j] = temp
            }
        }
    }
}

BEGIN {
    # ডেটা অ্যারেতে যোগ করা
    data[1] = 42
    data[2] = 15
    data[3] = 27
    data[4] = 33
    data[5] = 19

    n = 5  # অ্যারের দৈর্ঘ্য

    # সোর্ট ফাংশন কল করা
    bubble_sort(data, n)

    # সনির্দিষ্টভাবে সাজানো ডেটা প্রিন্ট করা
    for (i = 1; i <= n; i++) {
        print data[i]
    }
}
'

বর্ণনা:

  • bubble_sort নামের একটি ফাংশন তৈরি করা হয়েছে, যা বুদ্বুদ সনির্দিষ্ট পদ্ধতি ব্যবহার করে অ্যারেকে সনির্দিষ্টভাবে সাজায়।
  • temp ভেরিয়েবল ব্যবহার করে অ্যারের মান অদলবদল করা হয়েছে।
  • BEGIN ব্লকে অ্যারে তৈরি করা হয়েছে এবং সনির্দিষ্টভাবে সাজানো ডেটা প্রিন্ট করা হয়েছে।

আউটপুট:

15
19
27
33
42

কাস্টম সোর্ট ফাংশন ব্যবহার করে ফাইল থেকে ডেটা সনির্দিষ্ট করা

আপনি ফাইল থেকে ডেটা পড়ে এবং অ্যারেতে সংরক্ষণ করে কাস্টম সোর্ট ফাংশন ব্যবহার করতে পারেন।

awk '
function bubble_sort(array, n) {
    for (i = 1; i <= n; i++) {
        for (j = i + 1; j <= n; j++) {
            if (array[i] > array[j]) {
                temp = array[i]
                array[i] = array[j]
                array[j] = temp
            }
        }
    }
}

{
    data[NR] = $1  # ফাইলের প্রতিটি লাইনের প্রথম কলাম অ্যারেতে যোগ করা
    count = NR
}

END {
    bubble_sort(data, count)  # সনির্দিষ্ট ফাংশন কল করা
    for (i = 1; i <= count; i++) {
        print data[i]
    }
}
' filename.txt

বর্ণনা:

  • ফাইল থেকে ডেটা পড়ে data অ্যারেতে সংরক্ষণ করা হয়েছে।
  • END ব্লকে bubble_sort ফাংশন ব্যবহার করে ডেটা সনির্দিষ্টভাবে সাজানো হয়েছে এবং প্রিন্ট করা হয়েছে।

সারসংক্ষেপ

AWK এ ডেটা সনির্দিষ্টভাবে সাজানোর জন্য বিল্ট-ইন ফাংশন না থাকলেও আমরা কাস্টম সোর্ট ফাংশন তৈরি করে ডেটা সনির্দিষ্ট করতে পারি। বাইরের sort কমান্ডের মাধ্যমে সহজভাবে ডেটা সনির্দিষ্ট করা যায়, তবে জটিল কাজের জন্য কাস্টম ফাংশন তৈরি করা প্রয়োজন হতে পারে। AWK এ অ্যারে এবং লজিক্যাল অপারেটর ব্যবহার করে আপনি আপনার নিজের সনির্দিষ্ট ফাংশন তৈরি করতে পারেন যা ডেটা প্রক্রিয়াকরণের ক্ষমতা বাড়ায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion